#pragma once

#include <QGraphicsObject>
#include <QGraphicsScene>
#include <QBitmap>



class GameEntity : public QGraphicsObject
{
    Q_OBJECT

public:
    GameEntity();
    GameEntity(QGraphicsScene * scene);
    GameEntity(const GameEntity & obj, bool copyScene = false);
    virtual ~GameEntity();
    GameEntity& operator = (const GameEntity & obj);

    // Method removes this item from current scene (if there is such one) and adds to new scene
    void addToScene(QGraphicsScene * scene);

    // Method removes this item from current scene (if there is such one)
    void removeFromScene();

protected:
    QPixmap * m_ptr_bitmap;
    QGraphicsScene * m_ptr_scene;
};
